﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace IM.Domain.Repository
{
    public interface IRepositoryLocator
    {
        #region CRUD Operations
        TEntity Save<TEntity>(TEntity entity);
        bool Update<TEntity>(TEntity entity);
        bool Delete<TEntity>(TEntity entity);
        #endregion

        #region Retrieval Operations
        TEntity GetByID<TEntity>(long iD);
        IQueryable<TEntity> GetAll<TEntity>();
        #endregion

        IRepository<TRepository> GetRepository<TRepository>();
    }
}
